到上一篇為止都是以針對小區域來使用web component,我想這也是大多數可能使用web component技術的人的需求。畢竟,現在前端框架很流行(不限於三大框架),專案或引用的函式庫幾乎都是以框架為前提來設計。
因為shadow DOM 對內外的CSS有分隔的效果,在組件內部使用的CSS都要包入Shadow DOM之中,如果建構少量的小型組件還算簡單。如果要做大型組件或組件間共用CSS的話就會很麻煩。
如果是少量使用web component,HTML使用document.createElement建構倒也不會太影響效能(我自己平時就是這樣建構),但如果要建構大型組件,使用innerHTML還是比較方便。但這樣就不方便複用HTML。
相對於HTML和CSS。javascript在複用上會比較簡單一點。現在原生還只能使用extends,想要使用@decorator不是使用typescript就是babel了。但這樣算不算是VanillaJS就看人了。